package com.motong.gongdan.vo.system.otherVo;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author:fff
 * @time:2022/3/15
 */
@Accessors(chain = true)
@ApiModel(description = "生产报表参数类")
@Data
public class ProduceReportListVo extends PageVo {
    private Integer id;
    @ApiModelProperty(value = "工单编号")
    private String workOrderCode;
    @ApiModelProperty(value = "工单状态集合 0/1/2/3 未开始/执行中/已结束/已取消")
    private List<String> workOrderState;
    @ApiModelProperty(value = "工单计划结束时间start")
    private Date workOrderEndTimeStart;
    @ApiModelProperty(value = "工单计划结束时间end")
    private Date workOrderEndTimeEnd;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    //产品
    private String productCode;
    private String productSpecification;

    //工单
    private Date workOrderStartTimeStart;
    private Date workOrderStartTimeEnd;
    private Date workOrderActualStartTimeStart;
    private Date workOrderActualStartTimeEnd;
    private Date workOrderActualEndTimeStart;
    private Date workOrderActualEndTimeEnd;
    private String comment;

    //任务
    @ApiModelProperty(value = "工序id集合")
    private List<String> processIds;
    private List<String> missionState;
    private Date missionStartTimeStart;
    private Date missionStartTimeEnd;
    private Date missionEndTimeStart;
    private Date missionEndTimeEnd;
    private Date missionActualStartTimeStart;
    private Date missionActualStartTimeEnd;
    private Date missionActualEndTimeStart;
    private Date missionActualEndTimeEnd;

    //报工
    @ApiModelProperty(value = "生产人员id集合")
    private List<String> produceUser;
    private Date verifyTimeStart;
    private Date verifyTimeEnd;
    private List<Integer> badProduct;
    @ApiModelProperty(value = "报工开始时间start")
    private Date reportStartTimeStart;
    @ApiModelProperty(value = "报工开始时间end")
    private Date reportStartTimeEnd;
    @ApiModelProperty(value = "报工结束时间start")
    private Date reportEndTimeStart;
    @ApiModelProperty(value = "报工结束时间end")
    private Date reportEndTimeEnd;
    private String pricing;
    private String verifyState;
    private List<String> verifyUser;
    @ApiModelProperty(value = "实际报工开始时间")
    private Date actualStartTime;
    @ApiModelProperty(value = "实际报工结束时间")
    private Date actualEndTime;

    //用户
    @ApiModelProperty(value = "部门id集合")
    private List<String> depIds;

    private Map<Integer, String> customFieldSearch;

    private Map<Integer, String> customFieldMap;

    private JSONObject searchOther;

    private List<Integer> workReportIds;


}
